home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / PIE-FLWO.ZIP / FLOGIN.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-05-05  |  11KB  |  537 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     String   TSTRING001(5)
  20.     String   TSTRING002(1)
  21.     String   TSTRING003(8)
  22.     String   TSTRING004(45)
  23.     String   STRING005
  24.     String   STRING006
  25.     String   STRING007
  26.     String   STRING008
  27.     String   STRING009
  28.     String   STRING010
  29.     String   STRING011
  30.     Byte     BYTE001
  31.     Byte     BYTE002
  32.     Byte     BYTE003
  33.     Byte     BYTE004
  34.     Byte     BYTE005
  35.     Byte     BYTE006
  36.     Byte     BYTE007
  37.     Declare  Procedure PROC001(String STRING013)
  38.     Declare  Procedure PROC002(String STRING014)
  39.     Declare  Procedure PROC003(Byte BYTE008, String STRING012)
  40.     Declare  Procedure PROC004(Byte BYTE010, Byte BYTE011, Boolean BOOLEAN001)
  41.     Declare  Procedure PROC005(Byte BYTE009)
  42.     Declare  Procedure PROC006()
  43.     Declare  Procedure PROC007()
  44.     Declare  Procedure PROC008()
  45.     Declare  Procedure PROC009()
  46.     Declare  Procedure PROC010()
  47.  
  48. ;------------------------------------------------------------------------------
  49.  
  50.     STRING005 = Len(U_Name())
  51.     BYTE002 = Len(U_Name())
  52.     For BYTE003 = 1 To BYTE002
  53.         STRING009 = Left(U_Name(), BYTE003)
  54.         STRING009 = Right(STRING009, 1)
  55.         If ((STRING009 == ".") || (STRING009 == " ")) Continue
  56.         STRING007 = STRING007 + STRING009
  57.     Next
  58.     If (BYTE002 >= 6) STRING011 = Left(STRING007, 6)
  59.     If (BYTE002 < 6) STRING011 = Left(STRING007, BYTE002)
  60.     STRING011 = STRING011 + STRING005
  61.     If (!Exist(PPEPath() + "flogin.cfg")) PROC006()
  62.     FOpen 1, PPEPath() + "flogin.cfg", 0, 0
  63.     For BYTE005 = 0 To 4
  64.         FGet 1, TSTRING001(BYTE005)
  65.     Next
  66.     FGet 1, TSTRING002(0)
  67.     For BYTE005 = 0 To 8
  68.         FGet 1, TSTRING003(BYTE005)
  69.         BYTE004 = BYTE005
  70.         If (TSTRING003(BYTE005) == "E-O-F") Break
  71.     Next
  72.     FClose 1
  73.     If (Exist(PPEPath() + "\DATA\" + STRING011 + ".dat")) Goto LABEL001
  74.     STRING008 = "E-O-F"
  75.     Goto LABEL002
  76.     :LABEL001
  77.     PROC002(U_Name())
  78.     :LABEL002
  79.     If (STRING008 == "E-O-F") Then
  80.         If (Exist(PPEPath() + "\DATA\" + STRING011 + ".dat")) Delete PPEPath() + "\DATA" + STRING011 + ".dat"
  81.         FCreate 1, PPEPath() + "\DATA\" + STRING011 + ".dat", 1, 0
  82.         STRING005 = U_Name() + ";YES;YES"
  83.         For BYTE002 = 0 To BYTE004 * 2 - 1
  84.             STRING005 = STRING005 + ";1"
  85.         Next
  86.         FPutLn 1, STRING005
  87.         FClose 1
  88.     Endif
  89.     PROC003(1, TSTRING002(0))
  90.     TSTRING002(1) = STRING007
  91.     PROC003(2, TSTRING002(0))
  92.     TSTRING002(0) = STRING007
  93.     PROC002(U_Name())
  94.     BYTE001 = Len(STRING008)
  95.     BYTE003 = Len(U_Name())
  96.     BYTE001 = BYTE001 - BYTE003
  97.     If (BYTE001 == 8 + (BYTE004 * 2) * 2) Goto LABEL003
  98.     Cls
  99.     PrintLn "IT SEEMS LIKE *YOUR* DATA LINE IS INVALID...ERASING LINE."
  100.     PrintLn "GENERATING A DEFAULT LINE..."
  101.     PrintLn "PLEASE CHANGE TO YOUR OWN SETTINGS BY RUNING THE CFG PPE."
  102.     PrintLn 
  103.     PrintLn "THIS ERROR OCCURED BECAUSE SOMETHING SYSOP DID, NOT YOU."
  104.     If (Exist(PPEPath() + "\DATA\" + STRING011 + ".dat")) Delete PPEPath() + "\DATA\" + STRING011 + ".dat"
  105.     FCreate 1, PPEPath() + "\DATA\" + STRING011 + ".dat", 1, 0
  106.     STRING005 = U_Name() + ";YES;YES"
  107.     For BYTE002 = 0 To BYTE004 * 2 - 1
  108.         STRING005 = STRING005 + ";1"
  109.     Next
  110.     FPutLn 1, STRING005
  111.     FClose 1
  112.     Delay 50
  113.     :LABEL003
  114.     PROC002(U_Name())
  115.     PROC003(2, STRING008)
  116.     TSTRING004(0) = STRING007
  117.     PROC003(3, STRING008)
  118.     TSTRING004(1) = STRING007
  119.     STRING005 = Upper(GetToken())
  120.     If (STRING005 == "/CFG") Then
  121.         Cls
  122.         Print TSTRING002(0) + "LOADING PLEASE WAIT ["
  123.         For BYTE002 = 0 To BYTE004 * 2 - 1
  124.             Print TSTRING002(0) + "■"
  125.         Next
  126.         Print TSTRING002(0) + "]"
  127.         For BYTE002 = 0 To BYTE004 * 2 - 1
  128.             AnsiPos 22 + BYTE002, 1
  129.             Print TSTRING002(1) + "■"
  130.             PROC003(4 + BYTE002, STRING008)
  131.             TSTRING004(2 + BYTE002) = STRING007
  132.         Next
  133.         PROC010()
  134.     Endif
  135.     Cls
  136.     PROC009()
  137.     End
  138.  
  139. ;------------------------------------------------------------------------------
  140.  
  141.     Procedure PROC009()
  142.  
  143.     If (TSTRING004(1) == "NO ") Then
  144.         TSTRING001(5) = TSTRING004(0)
  145.         PROC008()
  146.     Endif
  147.     PROC001(TSTRING004(0))
  148.     TSTRING001(5) = TSTRING004(0)
  149.     :LABEL004
  150.     STRING006 = ""
  151.     While (STRING006 == "") Do
  152.         STRING006 = Inkey()
  153.     EndWhile
  154.     If (((STRING006 == "LEFT") || (STRING006 == "RIGHT")) && (Upper(TSTRING001(5)) == "YES")) Then
  155.         TSTRING001(5) = "NO "
  156.     ElseIf (((STRING006 == "RIGHT") || (STRING006 == "LEFT")) && (Upper(TSTRING001(5)) == "NO ")) Then
  157.         TSTRING001(5) = "YES"
  158.     Endif
  159.     If ((STRING006 == Chr(13)) && ((Upper(TSTRING001(5)) == "YES") || (Upper(TSTRING001(5)) == "NO "))) PROC008()
  160.     PROC001(TSTRING001(5))
  161.     Goto LABEL004
  162.  
  163.     EndProc
  164.  
  165.  
  166. ;------------------------------------------------------------------------------
  167.  
  168.     Procedure PROC008()
  169.  
  170.     PROC002(U_Name())
  171.     If (TSTRING001(5) == "YES") Then
  172.         For BYTE002 = BYTE004 + 4 To BYTE004 * 2 + 3
  173.             PROC003(BYTE002, STRING008)
  174.             If (STRING007 == "1") PROC005(BYTE002 - BYTE004 - 4)
  175.         Next
  176.     Endif
  177.     If (TSTRING001(5) == "NO ") Then
  178.         For BYTE002 = 4 To BYTE004 + 3
  179.             PROC003(BYTE002, STRING008)
  180.             If (STRING007 == "1") PROC005(BYTE002 - 4)
  181.         Next
  182.     Endif
  183.     End
  184.  
  185.     EndProc
  186.  
  187.  
  188. ;------------------------------------------------------------------------------
  189.  
  190.     Procedure PROC003(Byte BYTE008, String STRING012)
  191.  
  192.     BYTE001 = Len(STRING012)
  193.     STRING010 = 0
  194.     STRING007 = ""
  195.     For BYTE003 = 1 To BYTE001
  196.         STRING009 = Left(STRING012, BYTE003)
  197.         STRING009 = Right(STRING009, 1)
  198.         If (STRING009 == ";") Then
  199.             Inc STRING010
  200.             If (STRING010 == BYTE008) Break
  201.             STRING007 = ""
  202.         Endif
  203.         If (!(STRING009 == ";")) STRING007 = STRING007 + STRING009
  204.     Next
  205.  
  206.     EndProc
  207.  
  208.  
  209. ;------------------------------------------------------------------------------
  210.  
  211.     Procedure PROC005(Byte BYTE009)
  212.  
  213.     PROC003(2, TSTRING003(BYTE009))
  214.     STRING005 = Left(STRING007, 1)
  215.     BYTE001 = Len(STRING007)
  216.     BYTE001 = BYTE001 - 1
  217.     STRING007 = Right(STRING007, BYTE001)
  218.     If (STRING005 == "%") DispFile STRING007, 0
  219.     If (STRING005 == "!") Call STRING007
  220.  
  221.     EndProc
  222.  
  223.  
  224. ;------------------------------------------------------------------------------
  225.  
  226.     Procedure PROC001(String STRING013)
  227.  
  228.     Cls
  229.     PrintLn 
  230.     PrintLn 
  231.     If (STRING013 == "YES") PrintLn TSTRING001(0) + " " + TSTRING001(2) + " " + TSTRING001(3)
  232.     If (STRING013 == "NO ") PrintLn TSTRING001(0) + " " + TSTRING001(1) + " " + TSTRING001(4)
  233.  
  234.     EndProc
  235.  
  236.  
  237. ;------------------------------------------------------------------------------
  238.  
  239.     Procedure PROC002(String STRING014)
  240.  
  241.     FOpen 1, PPEPath() + "\DATA\" + STRING011 + ".dat", 0, 0
  242.     FGet 1, STRING008
  243.     FClose 1
  244.     PROC003(1, STRING008)
  245.     If (!(STRING007 == STRING014)) STRING008 = "E-O-F"
  246.  
  247.     EndProc
  248.  
  249.  
  250. ;------------------------------------------------------------------------------
  251.  
  252.     Procedure PROC010()
  253.  
  254.     Cls
  255.     DispFile PPEPath() + "flogin.pcb", 0
  256.     For BYTE002 = 0 To 2
  257.         PROC004(3, BYTE002, 0)
  258.         PROC004(0, BYTE002, 0)
  259.     Next
  260.     For BYTE002 = 0 To BYTE004 - 1
  261.         PROC004(2, BYTE002, 0)
  262.         PROC004(1, BYTE002, 0)
  263.     Next
  264.     BYTE006 = 0
  265.     BYTE007 = 0
  266.     PROC004(BYTE007, BYTE006, 1)
  267.     :LABEL005
  268.     STRING006 = ""
  269.     While (STRING006 == "") Do
  270.         STRING006 = Inkey()
  271.     EndWhile
  272.     If ((STRING006 == "UP") && (BYTE007 < 3)) Then
  273.         PROC004(BYTE007, BYTE006, 0)
  274.         Inc BYTE007
  275.         BYTE006 = 0
  276.     Endif
  277.     If ((STRING006 == "DOWN") && (BYTE007 > 0)) Then
  278.         PROC004(BYTE007, BYTE006, 0)
  279.         Dec BYTE007
  280.         BYTE006 = 0
  281.     Endif
  282.     If ((((BYTE007 == 3) && (BYTE006 < 1)) || ((BYTE007 == 0) && (BYTE006 < 1))) && (STRING006 == "RIGHT")) Then
  283.         PROC004(BYTE007, BYTE006, 0)
  284.         Inc BYTE006
  285.     Endif
  286.     If ((((((BYTE007 == 0) || (BYTE007 == 1)) || (BYTE007 == 2)) || (BYTE007 == 3)) && (STRING006 == "LEFT")) && (BYTE006 > 0)) Then
  287.         PROC004(BYTE007, BYTE006, 0)
  288.         Dec BYTE006
  289.     Endif
  290.     If ((((BYTE007 == 1) || (BYTE007 == 2)) && (STRING006 == "RIGHT")) && (BYTE006 < BYTE004 - 1)) Then
  291.         PROC004(BYTE007, BYTE006, 0)
  292.         Inc BYTE006
  293.     Endif
  294.     If ((STRING006 == Chr(32)) || (STRING006 == Chr(13))) Then
  295.         If (BYTE007 == 0) Then
  296.             If (BYTE006 == 0) Then
  297.                 Delete PPEPath() + "\DATA\" + STRING011 + ".dat"
  298.                 FCreate 1, PPEPath() + "\DATA\" + STRING011 + ".dat", 1, 0
  299.                 STRING005 = U_Name() + ";" + TSTRING004(0) + ";" + TSTRING004(1)
  300.                 For BYTE002 = 2 To BYTE004 * 2 + 1
  301.                     STRING005 = STRING005 + ";" + TSTRING004(BYTE002)
  302.                 Next
  303.                 FPutLn 1, STRING005
  304.                 FClose 1
  305.                 Cls
  306.                 End
  307.             Endif
  308.             If (BYTE006 == 1) PROC007()
  309.         Endif
  310.         If (BYTE007 == 2) Then
  311.             If (TSTRING004(BYTE006 + 2) == "0") Then
  312.                 TSTRING004(BYTE006 + 2) = "1"
  313.                 AnsiPos 5, 12 + BYTE006
  314.                 Print TSTRING002(0) + "[X]"
  315.                 Goto LABEL006
  316.             Endif
  317.             If (TSTRING004(BYTE006 + 2) == "1") Then
  318.                 TSTRING004(BYTE006 + 2) = "0"
  319.                 AnsiPos 5, 12 + BYTE006
  320.                 Print TSTRING002(1) + "[ ]"
  321.             Endif
  322.         Endif
  323.         :LABEL006
  324.         If (BYTE007 == 1) Then
  325.             If (TSTRING004(BYTE004 + BYTE006 + 2) == "0") Then
  326.                 TSTRING004(BYTE004 + BYTE006 + 2) = "1"
  327.                 AnsiPos 38, 12 + BYTE006
  328.                 Print TSTRING002(0) + "[X]"
  329.                 Goto LABEL007
  330.             Endif
  331.             If (TSTRING004(BYTE004 + BYTE006 + 2) == "1") Then
  332.                 TSTRING004(BYTE004 + BYTE006 + 2) = "0"
  333.                 AnsiPos 38, 12 + BYTE006
  334.                 Print TSTRING002(1) + "[ ]"
  335.             Endif
  336.         Endif
  337.         :LABEL007
  338.         If (BYTE007 == 3) Then
  339.             If ((BYTE006 == 0) && (TSTRING004(0) == "YES")) Then
  340.                 TSTRING004(0) = "NO "
  341.                 Goto LABEL008
  342.             Endif
  343.             If (BYTE006 == 0) Then
  344.                 TSTRING004(0) = "YES"
  345.             Endif
  346.             :LABEL008
  347.             If ((BYTE006 == 1) && (TSTRING004(1) == "YES")) Then
  348.                 TSTRING004(1) = "NO "
  349.                 Goto LABEL009
  350.             Endif
  351.             If (BYTE006 == 1) Then
  352.                 TSTRING004(1) = "YES"
  353.             Endif
  354.         Endif
  355.     Endif
  356.     :LABEL009
  357.     PROC004(BYTE007, BYTE006, 1)
  358.     Goto LABEL005
  359.  
  360.     EndProc
  361.  
  362.  
  363. ;------------------------------------------------------------------------------
  364.  
  365.     Procedure PROC004(Byte BYTE010, Byte BYTE011, Boolean BOOLEAN001)
  366.  
  367.     If ((BYTE011 == 0) && (BYTE010 == 3)) Then
  368.         AnsiPos 5, 9
  369.         If (BOOLEAN001 == 1) Print TSTRING002(0) + "DEFAULT ALTERANTIVE: [" + TSTRING002(1) + TSTRING004(0) + TSTRING002(0) + "]"
  370.         If (BOOLEAN001 == 0) Print TSTRING002(0) + "DEFAULT ALTERANTIVE: [" + TSTRING002(1) + Lower(TSTRING004(0)) + TSTRING002(0) + "]"
  371.     Endif
  372.     If ((BYTE011 == 1) && (BYTE010 == 3)) Then
  373.         AnsiPos 38, 9
  374.         If (BOOLEAN001 == 1) Print TSTRING002(0) + "USE FAST LOGIN PROMPT: [" + TSTRING002(1) + TSTRING004(1) + TSTRING002(0) + "]"
  375.         If (BOOLEAN001 == 0) Print TSTRING002(0) + "USE FAST LOGIN PROMPT: [" + TSTRING002(1) + Lower(TSTRING004(1)) + TSTRING002(0) + "]"
  376.     Endif
  377.     If ((BYTE011 == 0) && (BYTE010 == 0)) Then
  378.         AnsiPos 5, 21
  379.         If (BOOLEAN001 == 1) Print TSTRING002(0) + "[" + TSTRING002(1) + "END PPE" + TSTRING002(0) + "]"
  380.         If (BOOLEAN001 == 0) Print TSTRING002(0) + "[" + TSTRING002(1) + "end ppe" + TSTRING002(0) + "]"
  381.     Endif
  382.     If ((BYTE011 == 1) && (BYTE010 == 0)) Then
  383.         AnsiPos 15, 21
  384.         If (BOOLEAN001 == 1) Print TSTRING002(0) + "[" + TSTRING002(1) + "ABOUT" + TSTRING002(0) + "]"
  385.         If (BOOLEAN001 == 0) Print TSTRING002(0) + "[" + TSTRING002(1) + "about" + TSTRING002(0) + "]"
  386.     Endif
  387.     Select Case (BYTE010)
  388.         Case 1, 2
  389.             PROC003(1, TSTRING003(BYTE011))
  390.             If (BYTE010 == 1) Then
  391.                 AnsiPos 38, 12 + BYTE011
  392.                 If (BOOLEAN001 == 0) Then
  393.                     If (TSTRING004(BYTE004 + BYTE011 + 2) == "0") Print TSTRING002(0) + "[ ] " + STRING007
  394.                     If (TSTRING004(BYTE004 + BYTE011 + 2) == "1") Print TSTRING002(0) + "[X] " + STRING007
  395.                 Endif
  396.                 If (BOOLEAN001 == 1) Then
  397.                     If (TSTRING004(BYTE004 + BYTE011 + 2) == "0") Print TSTRING002(1) + "[ ]"
  398.                     If (TSTRING004(BYTE004 + BYTE011 + 2) == "1") Print TSTRING002(1) + "[X]"
  399.                 Endif
  400.             Endif
  401.         Case 2
  402.             AnsiPos 5, 12 + BYTE011
  403.             If (BOOLEAN001 == 0) Then
  404.                 If (TSTRING004(2 + BYTE011) == "0") Print TSTRING002(0) + "[ ] " + STRING007
  405.                 If (TSTRING004(2 + BYTE011) == "1") Print TSTRING002(0) + "[X] " + STRING007
  406.             Endif
  407.         Case 1
  408.             If (TSTRING004(2 + BYTE011) == "0") Print TSTRING002(1) + "[ ]"
  409.             If (TSTRING004(2 + BYTE011) == "1") Print TSTRING002(1) + "[X]"
  410.     End Select
  411.  
  412.     EndProc
  413.  
  414.  
  415. ;------------------------------------------------------------------------------
  416.  
  417.     Procedure PROC007()
  418.  
  419.     Cls
  420.     PrintLn TSTRING002(0) + "                                            █▀▀▀▓"
  421.     PrintLn "             ▀  ▀ █▀▓▀▀▀▀▀█▄▄▓▄▄▄▄▄▄▓▀▀▀█▄▄▄▓ ░ ▀▓▀▀▀█▄"
  422.     PrintLn "            ▄     ▓ ▄▄▓▄▓▄▄▄▄▄ ▀ ■▄▄▄▄▓ ▄■ ▄▄▄▓▄▄▄▄▓▄ ▀▀▀█▀ ▀  ▀"
  423.     PrintLn "        ▄   ▓▄■   ▒  █▄██▓ ▐▄██▄  ░█████▌   █████ ██▓▄▓ u▓   ▄  ▄▓"
  424.     PrintLn "     ░▒▓█▓█▓███▒█ ░  ▓████  █▓██▌  ███▓█    █▓███ ▐██▓█▌Z▒ █▒██▓█▒██▓▒░"
  425.     PrintLn "     ░▒▓█▒████▓██ ■ ▐██▓██  █▄██▌ ▐█▓███   ▐█████ ▐██▄█▌!░ ███▓█████▓▒░"
  426.     PrintLn "     ░▒▓████▓█▒█▓ ░ ▐█████  ██▓▀  ▐█▄███   ▐██▓██▄█▀▓█▀  ■ ▓████▓█▓█▓▒░"
  427.     PrintLn "         ▐▀   ▓   ▒  █████■▄▀▀  ▒  ███▓█    █████ ▄▄▄▓▄  ░   ▐▀  ▀■"
  428.     PrintLn "                  ▓  ██▀▐█  ▄▓▄▄▓ ▄██▓█▓    ▀■███ ████▓  ▒"
  429.     PrintLn "       " + TSTRING002(1) + "1993" + TSTRING002(0) + "       █ ▓▀▓▀▀▀▀ █  ▀█ ▓▀▀▀▀▀▓ █▄▄  ▓▀▓▀▀▀▀   ▓       " + TSTRING002(1) + "1996" + TSTRING002(0)
  430.     PrintLn "                  █▄▄▄▄▄█▀▓▀▀   █▄▄▄█▀▓ ▒ ▓ ▀▐▄■▄▄▄▓▄█▀▓▀▀ ▀  ▀"
  431.     PrintLn "                  ▄       ▒           ▓ ░ ▒            ▒ ▀"
  432.     PrintLn "                          ░           ▓▄▄▄░              ▄"
  433.     PrintLn "                       'LIVE AND KICKING SINCE 1993'"
  434.     PrintLn "┌─────────────────────────────────────────────────────────────────────────────┐"
  435.     PrintLn "│ [FAST LOGIN WIZARD v1.5a CODED BY " + TSTRING002(1) + "ODIN" + TSTRING002(0) + " OF " + TSTRING002(1) + "PROVIDENCE " + TSTRING002(0) + "IN DA NINETYNINETYSIX] │"
  436.     PrintLn "├─────────────────────────────────────────────────────────────────────────────┤"
  437.     PrintLn "│ [DO YOU WANT PURE QUALiTY? JUST CHECK OUT YOUR NEREAST BOARD FOR OUR PPE:s] │"
  438.     PrintLn "├─────────────────────────────────────────────────────────────────────────────┤"
  439.     PrintLn "│ WWW   : " + TSTRING002(1) + "http://infinity.beve.blacksburg.va.us/~odin/pie!.html " + TSTRING002(0) + "(800x600x256) │"
  440.     PrintLn "│ E-MAIL: " + TSTRING002(1) + "odin@infinity.beve.blacksburg.va.us     " + TSTRING002(0) + " THE IRC:" + TSTRING002(1) + " #PIE on the EFNet" + TSTRING002(0) + " │"
  441.     Print "└─────────────────────────────────────────────────────────────────────────────┘ "
  442.     Wait
  443.     PROC010()
  444.  
  445.     EndProc
  446.  
  447.  
  448. ;------------------------------------------------------------------------------
  449.  
  450.     Procedure PROC006()
  451.  
  452.     Cls
  453.     Print "CAN'T FIND 'FLOGIN.CFG'. PLEASE INFORM SYSOP. PPE DISABLED."
  454.     PrintLn 
  455.     PrintLn 
  456.     Wait
  457.     End
  458.  
  459.     EndProc
  460.  
  461.  
  462. ;------------------------------------------------------------------------------
  463. ;
  464. ; Usage report (before postprocessing)
  465. ;
  466. ; ■ Statements used :
  467. ;
  468. ;    4       End
  469. ;    8       Cls
  470. ;    2       Wait
  471. ;    82      Goto 
  472. ;    83      Let 
  473. ;    26      Print 
  474. ;    32      PrintLn 
  475. ;    89      If 
  476. ;    2       DispFile 
  477. ;    3       FCreate 
  478. ;    2       FOpen 
  479. ;    5       FClose 
  480. ;    4       FGet 
  481. ;    3       FPutLn 
  482. ;    3       Delete 
  483. ;    1       Delay 
  484. ;    4       Inc 
  485. ;    2       Dec 
  486. ;    1       Call 
  487. ;    11      AnsiPos 
  488. ;    10      EndProc
  489. ;
  490. ;
  491. ; ■ Functions used :
  492. ;
  493. ;    14      *
  494. ;    196     +
  495. ;    16      -
  496. ;    93      ==
  497. ;    18      <
  498. ;    13      <=
  499. ;    2       >
  500. ;    27      >=
  501. ;    58      !
  502. ;    44      &&
  503. ;    24      ||
  504. ;    6       Len(
  505. ;    2       Lower()
  506. ;    5       Upper()
  507. ;    5       Left()
  508. ;    3       Right()
  509. ;    3       Chr()
  510. ;    11      U_Name()
  511. ;    2       Inkey()
  512. ;    13      PPEPath()
  513. ;    1       GetToken()
  514. ;    4       Exist()
  515. ;
  516. ;------------------------------------------------------------------------------
  517. ;
  518. ; Analysis flags : C
  519. ;
  520. ; C - Call child PPE ■ 3
  521. ;     This is usually normal, but may be a tricky way to launch some
  522. ;     sysop-only commands.
  523. ;     ■ Search for : CALL
  524. ;
  525. ;------------------------------------------------------------------------------
  526. ;
  527. ; Postprocessing report
  528. ;
  529. ;    13      For/Next
  530. ;    2       While/EndWhile
  531. ;    35      If/Then or If/Then/Else
  532. ;    1       Select Case
  533. ;
  534. ;------------------------------------------------------------------------------
  535. ;                 AEGiS Corp - Break the routines, code against the machines!
  536. ;------------------------------------------------------------------------------
  537.